#ifndef __INPUTMANAGER_CELL_H_INCLUDED__
#define __INPUTMANAGER_CELL_H_INCLUDED__

typedef struct InputManagerCell : public InputManagerBase
{
	InputManagerCell();
	virtual ~InputManagerCell();

	void UpdateFrame();

	virtual Mouse& GetMouse(int idx);
	virtual Keyboard& GetKeyboard(int idx);
	virtual Gamepad& GetGamepad(int idx);
	virtual Wiimote& GetWiimote(int idx);

	struct Impl;
	Impl* m_impl;

private:
	Keyboard m_keyboard;
	Mouse m_mouse;

	Gamepad m_gamepads[4];
} InputManager;

#endif